(*%F _fdata *)
(*# call(seg_name => null) *)
(*%E *)
(*# module(implementation=>on) *)
(*# module(init_code=>on) *)
(*# data(seg_name => null) *)
(*# call(o_a_copy => off) *)

DEFINITION MODULE Timer;

FROM Lib IMPORT Terminate;

TYPE 
    ClockType = (ForCommRd, ForPacket, ForTransfer);

PROCEDURE StartTimer(Clock: ClockType);
(* Resets specified Clock to zero *)

PROCEDURE ElapsedTime(Clock: ClockType): CARDINAL;
(* Reports elapsed time on Clock in seconds *)

PROCEDURE ElapsedTicks(Clock: ClockType): CARDINAL;
(* Reports elapsed time on Clock in 60th of a second *)

  PROCEDURE Delay(cycles:CARDINAL);
(* Delays action for cycles/1000 secs. *)

END Timer.
